﻿using System.Collections.Generic;

namespace Weazel.Gezel.Model
{
  public interface ISignalEntity : ITypedEntity
  {
    /// <summary>
    /// The list of expressions which can drive
    /// this entity during simulation. The
    /// list is not populated before the
    /// verification has completed.
    /// </summary>
    List<Expression> Definers
    {
      get;
    }

    /// <summary>
    /// Maps each definer of this entity to the signalflowgraph
    /// in which the definer is active.
    /// </summary>
    Dictionary<Expression, SignalFlowGraph> DefiningSignalFlowGraphs
    {
      get;
    }
  }
}
